The search for new approaches to parallel computing and advanced data storage and retrieval have generated a great deal of interest in neural networks. In general, neural networks attempt to duplicate the logic performed by the human brain and the brains of other animals. The circuit models that have been proposed for both learning (e.g., a programming mode) and decision-making (e.g., recognition, associative memory, etc.). For a broad discussion of neural networks, see "A Neuralmorphic VLSI Learning System", by Alspector and Allan, Advanced Research in VLSI, Proceedings of a 1987 Stanford Conference.
FIG. 6 of the Alspector paper shows a typical neuron or cell. A neuron includes dendrites (inputs), synapses (connections), neuron body (summing amplifier) and axon (output). Often, the synapses for these cells are implemented by using digital registers and digital-to-analog convertors to provide a weighting factor or function. Other circuit means are provided to multiply the input signal by this weighting factor. An example of such a synapse is found in co-pending application entitled "Semiconductor Cell For Neural Network Employing A Four-Quadrant Multiplier", Serial No. 283,553, Filing Date is 12/09/88, assigned to the assignee of the present invention. The weighting factor associated with a given synapse represents a connection strength within the neural network.
One category of tasks that neural networks are useful in performing recognition tasks, i.e., analyzing data and identifying which features are present. This involves matching templates and expected features to the data and finding the best fit or a list of good fits. In pattern matching problems the same stored patterns are repeatedly compared to different input patterns using the same calculation. One measure of the difference between two given binary patterns is the "Hamming distance". A binary pattern or binary vector is defined here to be a string of 1's and 0's (bits) in which the sequence of the bits is meaningful. Mathematically, the Hamming distance between two patterns is the number of the bits which are different in the two patterns in corresponding positions. Both patterns must have the same number of bits for the Hamming distance to have meaning. The Hamming distance calculation is logically identical to EXCLUSIVE-ORing bits in corresponding positions in the binary patterns and summing the results.
While there have been numerous proposed semiconductor cells for implementing synapses capable of multiplication and non-volatile data storage and other cells capable of performing the EXCLUSIVE-OR function and volatile data storage in amplifier neural networks (See Clark et al., "A Pipelined Associative Memory Implemented in VLSI", IEEE Journal of Solid-State Circuits, Vol. 24, No. 1, pp. 28-34, February 1989), applicant is unaware of any proposed devices capable of performing the EXCLUSIVE-OR function and non-volatile data storage. As will be seen, the present invention discloses a semiconductor cell which is capable of performing the EXCLUSIVE-OR function and non-volatile storage of a single bit of information. This cell is useful in performing Hamming distance calculations useful for pattern recognition tasks.